package com.example.demo.exception;

public enum BizErrorCode {
    /**
     * 不支持此操作
     */
    NOT_SUPPORT_THIS_OPERATION(10000,"lang.demo.notSupportThisOperation"),

    /**
     * 执行参数不能为空
     */
    EXECUTE_PARAM_CAN_NOT_EMPTY(10001,"lang.demo.executeParamCanNotEmpty"),

    /**
     * 该表已经存在数据处理任务
     */
    TABLE_HAS_EXIST_DATA_PROCESS_TASK(10002,"该表已经存在数据处理任务"),

    /**
     * 表的数据处理任务已经被取消
     */
    TABLE_TASK_HAS_BEEN_CANCELED(10003,"表的数据处理任务已经被取消"),

    /**
     * 表的数据处理任务不存在
     */
    TABLE_TASK_DO_NOT_EXIST(10004,"表的数据处理任务不存在"),

    /**
     * 表的数据处理任务已经完成
     */
    TABLE_TASK_HAS_BEEN_FINISHED(10005,"表的数据处理任务已经完成"),

    /**
     * 表的数据处理任务取消失败
     */
    TABLE_TASK_CANCEL_FAIL(10006,"表的数据处理任务取消失败"),

    /**
     * 已经错过开始处理时间
     */
    HAS_BEEN_PASSED_START_EXECUTE_TIME(10007,"已经错过开始处理时间"),

    /**
     * tableName不能为空
     */
    TABLE_NAME_CAN_NOT_BE_NULL(10008,"tableName不能为空"),

    /**
     * reserveSize不符合要求，请检查参数配置
     */
    RESERVE_SIZE_NOT_MEET_REQUIREMENTS(10009,"reserveSize不符合要求，请检查参数配置"),

    /**
     * reserveColumn不符合要求，请检查参数配置
     */
    RESERVE_COLUMN_NOT_MEET_REQUIREMENTS(10009,"reserveColumn不符合要求，请检查参数配置"),

    ;

    private int code;
    private String msg;

    BizErrorCode(int code, String msg) {
        this.msg = msg;
        this.code = code;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    public static BizErrorCode ofType(int code) {
        for (BizErrorCode bizErrorCode : BizErrorCode.values()) {
            if (bizErrorCode.getCode() == code) {
                return bizErrorCode;
            }
        }
        return null;
    }
}
